﻿using System;
using DependencyAnalysis.DataModel;

namespace DependencyAnalysis
{
    public static class Filters
    {
        public static readonly Predicate<ModuleDescriptor> MyModules =
            x => x.IsPartOfProject;

        public static readonly Predicate<SubmoduleDescriptor> MySubmodules =
            x => x.Module.IsPartOfProject;

        public static readonly Predicate<TypeDescriptor> MyTypes =
            x => !x.IsGenerated && x.Submodule.Module.IsPartOfProject;

        public static readonly Predicate<MemberDescriptor> MyMembers =
            x => !x.IsGenerated && x.ImplementingType.Submodule.Module.IsPartOfProject;
    }
}
